package day02;

public class DateTypeDemo {
    public static void main(String[] args) {
        //类型间的转换
        int a =5;
        long b= a ;//自动/隐式转换
        int c= (int) b; //大转小    强转
        long d= 5;//自动类型转换
        double e = 5;//自动类型转换
        System.out.println(e);

        long  f= 10000000000l;//正常赋值
        int g = (int)f;
        System.out.println(g);//发生溢出了 1410065408 强转可能溢出
        double h= 25.679;//正常赋值
        int i = (int)h;//25,强转有可能丢失精度



       /*
        //5)char:字符型 2个字符   必须放在''中   ''中不能为空 只能装一个  范围0-65535
        char c1 = '女';//字符女
        char c2 = 'f';//字符f
        char c3 = '6';//字符6
        char c4 = ' ';//空格符
        char c5 = 48;//
        char c6 = 65;//
        char c7 = '\'';//
        System.out.println(c6);
        System.out.println(c5);//println()时会依据c8的类型来做输出
                                //若c8为char类型，则以字符形式展示
                                //若c8为int类型，则以数字形式展示
        char c9 = '\\';
        System.out.println(c9);
        */


        /*
        //4)boolean  布尔型 1个字节
        boolean a = true;  //true为布尔型直接量
        boolean b = false;//false为布尔型直接量
//        boolean c= 25;//编译错误，布尔型只能存储false和true
        */



        /*
        //3）double：浮点型 8个字节 很大很大很大
        double a =3.444;//3.44为小数直接量，默认为double类型
        float b= 3.444F;//3.444F为float型直接量
        double c=3.0,d=2.9;
        System.out.println(c-d);//结果0.10000000000000009  放生舍入误差   金钱应该采用java.math.BigDecimal存储;
        double e=4.0,f=0.9;
        System.out.println(e+f);
         */



        /*//2)long 长整型8个字节，-900万万亿多--900万万亿多
        long a = 25L;
//        long b =10000000000;//编译错误，默认为int 范围 但是超出int范围
        long c= 10000000000l;//100亿L为长整型直接量
        long d= 365*24*60*60*1000L;//去年经历的毫秒  若有可能溢出则在第一个数
        System.out.println(d);
        long  e =10000000000L*6;
        System.out.println(e);
        long f=1000000000*60000L;
        System.out.println(f);*/



        /*
        System.out.println(5/2);
        System.out.println(5%2);
        System.out.println(2%3);
        //1) int 整型，4个字节 -21e-+21e
        int d= 2147483647;//int的最大值
        d=d+1;
        System.out.println(d);//发生溢出，-2147483648
        */


    }
}
